In certain scenarios, knowledge of values for one or more facial attributes (e.g., face shape, eye color, hair length, etc.) of a face can be desirable. For example, an artistic rendering of a particular face can be generated using values for the one or more facial attributes for such face. In one light-hearted example, the artistic rendering can be personalized emojis that include a cartoon version of the face (e.g., along with a humorous phrase).
In certain existing products, to obtain an artistic rendering such as personalized emojis, users may be required to manually enter or select particular values for the one or more facial attributes. This process can be time-consuming and is prone to lower quality results since the user is tasked with manually choosing the correct values and/or selecting the correct values from a limited number of available options.
Thus, a technical problem exists which can be summarized as the inability to automatically generate accurate values for facial attributes based on an input image that depicts a face. In particular, one particularly challenging scenario is the automatically generation of values for such facial attributes when only an uncontrolled image of the face is available. In particular, an uncontrolled image can be an image that does not satisfy all of a number of desired factors. For example, uncontrolled images can be images in which the image and/or subject fails to exhibit neutral facial expression, front-facing pose (e.g., looking into the camera), even lighting, and/or other factors. For example, a photograph of a person looking away from the camera in poor lighting conditions may be an uncontrolled image. Thus, a technical problem exists which can be summarized as the inability to automatically generate accurate values for facial attributes based on an uncontrolled image of a face.
In addition, a number of techniques exist for computer-aided reconstruction of a human face. For example, certain existing computer-implemented facial modeling techniques can generate a textured three-dimensional model of a face from a photographic image of the face. A two-dimensional image of the face can be rendered based on the three-dimensional model.
However, many of such computer-aided reconstruction techniques require iterative optimization (e.g., iterative optimization of the generated model relative to the photographic image) or require a large training set of facial modeling parameters. Reconstruction techniques that rely on iterative optimization can be slow and computationally expensive. In addition, optimization can sometimes fail to converge or can produce extremely low quality results.
Thus, a technical problem exists which can be summarized as the undesirable reliance of facial reconstruction techniques on iterative optimization and/or use of an undesirably large training set of images and facial modeling parameters.